﻿//using BaseUtils.Logger;
//using DatabaseCore.Sqlite;
//using Service.src.Flow.JavaScript;
//using Service.src.NW.Model;
//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;
//using System.Xml.Linq;

//namespace Service.src.Flow.Server
//{
//    public class GlobalParamServer
//    {

//        public GlobalParamEntity AddGlobalParam(int DBIndex, GlobalParamEntity GlobalParamInfo)
//        {
//            GlobalParamInfo = AppData.DatabaseCache[DBIndex].Install(GlobalParamInfo);
//            return GlobalParamInfo;
//        }


//        /// <summary>
//        /// 更新设备
//        /// </summary>
//        /// <param name="GlobalParamInfo"></param>
//        /// <returns></returns>
//        public static int UpldateGlobalParam(int DBIndex, GlobalParamEntity GlobalParamInfo)
//        {
            
//            int i = AppData.DatabaseCache[DBIndex].Update(GlobalParamInfo);
//            if (i == 1)
//            {
//                JavaScriptEvent.Send(JavaScriptEventEnum.GLOBAL_PARAM_DATA_UPDATE, GlobalParamInfo);
//            }
//            return i;
//        }

//        public bool UpdateGlobalParam(int DBIndex,GlobalParamEntity Update)
//        {
//            if (Update == null)
//            {
//                return false;
//            }
//            foreach (GlobalParamEntity target in AppData.GlobalParams)
//            {
//                if (Update.Name == target.Name)
//                {
//                    target.Value = Update.Value;
//                    //Task.Run(() =>
//                    //{
//                    UpldateGlobalParam(DBIndex, target);
//                    //});
//                    break;
//                }
//            }
//            return true;
//        }

//        private static object lockObject = new object();

//        public static GlobalParamEntity UpdateGlobalParam(int Id, string Value)
//        {
//            GlobalParamEntity g = null;
//            foreach (GlobalParamEntity target in AppData.GlobalParams)
//            {
//                if (Id == target.Id)
//                {
//                    target.Value = Value;
//                    try
//                    {
//                        lock (lockObject)
//                        {
//                            UpldateGlobalParam(SqliteHelper.SystemDefaultDBID, target);
//                        }
//                    }
//                    catch (Exception ex)
//                    {
//                        LoggerService.Error("ajgr:"+ ex.Message);
//                    }
//                    g = target;
//                    break;
//                }
//            }
//            if (g==null)
//            {
//                throw new Exception("未找到对应的全局变量，请检查后重试");
//            }
//            return g;
//        }

//        public List<GlobalParamEntity> GetGlobalParamlist(int DBIndex)
//        {
//            List<GlobalParamEntity> list = AppData.DatabaseCache[DBIndex].QueryAll<GlobalParamEntity>();
//            return list;
//        }

//        internal GlobalParamEntity GetGlobalParamInfoById(int DBIndex, int Id)
//        {
//            GlobalParamEntity Info = AppData.DatabaseCache[DBIndex].Query<GlobalParamEntity>(i => i.Id == Id).FirstOrDefault();
//            if (Info == null)
//            {
//                throw new Exception("获取设备异常，找不此设备");
//            }
//            return Info;
//        }

//        internal bool DeleteGlobalParam(int DBIndex, int id)
//        {
//            return AppData.DatabaseCache[DBIndex].Delete(new GlobalParamEntity() { Id = id });
//        }
//    }
//}
